Skip to content

Update Arrow to version 17#292

Merged
johanpel merged 19 commits into
developfrom
bump-arrow-17
Aug 4, 2025
Merged

Update Arrow to version 17#292
johanpel merged 19 commits into
developfrom
bump-arrow-17

Conversation

@joosthooz

@joosthooz joosthooz commented Apr 4, 2025

Copy link
Copy Markdown
Collaborator

Updated the Arrow dependency to use version 17.

Note: we should have a look at using the new Arrow C data interface, it didn't exist yet at the time all this was created.

} else {
offsets = off_res.MoveValueUnsafe();
}
if (!arrow::AllocateBuffer(arrow::default_memory_pool(), num_chars, &values).ok()) {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've removed the arrow::default_memory_pool() here, assuming it will default to the default (although it doesn't explicitly state in the Arrow doc)

@johanpel johanpel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Haven't been here for a while but LGTM overall.

If you are looking to revive this I think we should get CI working again first though, or is this necessary for that path forward?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see a lot of cosmetic changes here. It would be nice if you could add the associated clang tidy (I guess?) configuration you used to the project.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I applied more clang-tidy suggestions and added the file that my editor used.
This also includes a change in some malloc APIs from size_t to int64_t, because the platform functions use int64_t there was a narrowing conversion needed. Now all of them use int64_t.

FetchContent_Declare(
cerata
GIT_REPOSITORY https://github.com/abs-tudelft/cerata.git
GIT_TAG 0.0.11)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had to change this tag to develop to make CI green, if we want we can create a new tag in cerata and then use that. It needs to be updated because a dependency of cerata used a very old cmake that is now incompatible.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this very basic pyproject file to use the newer python -m build way of building instead of directly invoking setup.py. However it is very difficult to fully migrate to pyproject.toml because we need to build an external module, and the runtime needs to add the echo platform .so explicitly because it is not linked (dynamically loaded during runtime).
I've tried it but couldn't get it to work. So I've kept both codegen and runtime setup.py files.


compile_units()

install(TARGETS fletcher fletcher_c fletcher_common

@joosthooz joosthooz Aug 4, 2025

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These new install cmds are added to add a CMake config file that projects look for when trying to use fletcher. I'm honestly not fully sure how these are supposed to look like, so I followed a minimal example and it seems to work.


// MMIO:
ASSERT_TRUE(platform->WriteMMIO(0, 0).ok());

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also a noteworthy change, it overrides stdin to write some data, because the echo platform normally asks the user for input (which wouldn't work in CI, of course).

…ency.

Also applied more clang-tidy suggestions and added config file.
@johanpel johanpel merged commit cc33e06 into develop Aug 4, 2025
27 checks passed
@johanpel

johanpel commented Aug 4, 2025

Copy link
Copy Markdown
Member

Great work @joosthooz, thanks for making CI work again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants